package com.ygqh.baby.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.model.CardCouponReceiver;
import com.ygqh.baby.po.YgCardGiveRecord;
import com.ygqh.baby.po.YgCardGiveRecordExample;

public interface YgCardGiveRecordMapper {
	int countByExample(YgCardGiveRecordExample example);

	int deleteByExample(YgCardGiveRecordExample example);

	int deleteByPrimaryKey(Long id);

	int insert(YgCardGiveRecord record);

	int insertSelective(YgCardGiveRecord record);

	List<YgCardGiveRecord> selectByExample(YgCardGiveRecordExample example);

	YgCardGiveRecord selectByPrimaryKey(Long id);

	int updateByExampleSelective(@Param("record") YgCardGiveRecord record,
			@Param("example") YgCardGiveRecordExample example);

	int updateByExample(@Param("record") YgCardGiveRecord record, @Param("example") YgCardGiveRecordExample example);

	int updateByPrimaryKeySelective(YgCardGiveRecord record);

	int updateByPrimaryKey(YgCardGiveRecord record);

	int countSuper(@Param("q") String q);

	List<YgCardGiveRecord> selectSuper(@Param("queryInfo") QueryInfo queryInfo, @Param("q") String q);

	int receiveCard(@Param("cardId") Long cardId, @Param("giver") Long giver, @Param("receiver") Long receiver);

	int insertBatch(@Param("list") List<YgCardGiveRecord> list);

	List<CardCouponReceiver> selectUserListByCardDetailIdList(@Param("list") List<Long> cardDetailIdList);

}
